Model তৈরি এবং এর ভূমিকা

Web Development - এমবারজেএস (EmberJS) - Ember.js Model এবং Data Management
174

Ember.js একটি শক্তিশালী ফ্রেমওয়ার্ক যা Model-View-ViewModel (MVVM) প্যাটার্ন অনুসরণ করে। অ্যাপ্লিকেশনের ডেটা এবং তার সাথে সম্পর্কিত লজিককে Model দ্বারা পরিচালনা করা হয়। Model হচ্ছে অ্যাপ্লিকেশনের ডেটা প্রতিনিধিত্বকারী একটি অবজেক্ট, যা সাধারণত API বা ডেটাবেসের সাথে যোগাযোগ করে এবং অ্যাপ্লিকেশনের ডেটা স্টোর করে।

Ember.js এ Model তৈরি করা হয় এবং Ember Data নামক একটি লাইব্রেরি ব্যবহার করে এটি ডেটার সাথে কাজ করে। Ember Data অ্যাপ্লিকেশন এবং API এর মধ্যে ডেটা ফেচিং, সংরক্ষণ এবং আপডেটের জন্য ব্যবহৃত হয়। এখানে Ember.js এর Model এবং এর ভূমিকা নিয়ে বিস্তারিত আলোচনা করা হবে।


Ember.js এ Model তৈরি

১. Model তৈরির প্রক্রিয়া

Ember.js এ মডেল তৈরি করতে, প্রথমে Ember Data ব্যবহার করতে হয়। মডেল তৈরি করতে ember generate model কমান্ড ব্যবহার করা হয়, যার মাধ্যমে একটি নতুন মডেল তৈরি হয়। উদাহরণস্বরূপ, যদি আমরা একটি user মডেল তৈরি করতে চাই, তবে নিম্নলিখিত কমান্ডটি ব্যবহার করা হয়:

ember generate model user

এটি app/models/user.js ফাইলে একটি নতুন মডেল তৈরি করবে। এই মডেলটি ডিফল্টভাবে Ember Data এর DS.Model থেকে ইনহেরিট করবে, এবং এতে কিছু অ্যাট্রিবিউট (যেমন name, email ইত্যাদি) থাকবে।

২. Model এর কোড উদাহরণ

// app/models/user.js
import Model, { attr } from '@ember-data/model';

export default class UserModel extends Model {
  @attr('string') name;  // নাম অ্যাট্রিবিউট
  @attr('string') email; // ইমেইল অ্যাট্রিবিউট
  @attr('date') createdAt; // তৈরি হওয়ার তারিখ
}

এখানে, @attr ডেকোরেটর ব্যবহার করে আমরা মডেলের বিভিন্ন অ্যাট্রিবিউট (ফিল্ড) ঘোষণা করছি। প্রতিটি অ্যাট্রিবিউটের ধরন (যেমন string, date, number) উল্লেখ করা হয়।


Ember Data এবং Model এর ভূমিকা

Ember Data হল Ember.js এর একটি লাইব্রেরি যা মডেল এবং ডেটা সেন্ট্রালাইজড ডেটাবেস বা API এর সাথে ইন্টিগ্রেট করার জন্য ব্যবহৃত হয়। এটি ডেটা লোড, আপডেট, এবং রিসিঙ্ক্রোনাইজ করার কাজ করে।

১. API-র সাথে ডেটা ফেচিং

Ember Data একটি শক্তিশালী ডেটা ম্যানেজমেন্ট সিস্টেম সরবরাহ করে। এটি REST বা JSON:API ফরম্যাট থেকে ডেটা ফেচ করতে পারে এবং API থেকে প্রাপ্ত ডেটাকে মডেল অবজেক্টে রূপান্তরিত করে।

// app/routes/application.js
import Route from '@ember/routing/route';

export default class ApplicationRoute extends Route {
  async model() {
    // API থেকে user মডেল ডেটা ফেচ করা
    return this.store.findAll('user');
  }
}

এখানে this.store.findAll('user') ব্যবহার করে API থেকে সমস্ত user মডেল ডেটা ফেচ করা হয়েছে।

২. ডেটা সংরক্ষণ এবং আপডেট করা

Ember Data ব্যবহার করে আপনি নতুন মডেল তৈরি করতে বা বিদ্যমান মডেলের ডেটা আপডেট করতে পারেন:

// নতুন ব্যবহারকারী তৈরি করা
let newUser = this.store.createRecord('user', {
  name: 'John Doe',
  email: 'john.doe@example.com',
});

newUser.save(); // নতুন ব্যবহারকারী ডেটাবেসে সংরক্ষণ করা

এখানে, createRecord() মেথডটি নতুন user অবজেক্ট তৈরি করে এবং save() মেথডের মাধ্যমে ডেটা সংরক্ষণ করে।

৩. ডেটা ডিলিট করা

Ember Data-তে ডেটা মুছতে হলে, deleteRecord() এবং save() মেথড ব্যবহার করতে হয়:

user.deleteRecord();  // user মুছে ফেলা
user.save();  // পরিবর্তনগুলি ডেটাবেসে সংরক্ষণ

এটি ডেটাবেস বা API থেকে ব্যবহারকারী মুছে ফেলবে।


Model এবং Controller এর সম্পর্ক

Ember.js-এ Model এবং Controller এর মধ্যে দৃঢ় সম্পর্ক থাকে। Controller সাধারণত Model থেকে ডেটা নেয় এবং তা ভিউতে (Template) প্রেরণ করে।

১. Controller থেকে Model এর ব্যবহার

// app/controllers/application.js
import Controller from '@ember/controller';

export default class ApplicationController extends Controller {
  get users() {
    return this.model;
  }
}

এখানে, this.model ব্যবহার করে অ্যাপ্লিকেশনের ডেটা কন্ট্রোলার থেকে অ্যাক্সেস করা হচ্ছে।


Ember.js Model এর অন্যান্য বৈশিষ্ট্য

  1. Relationship (সম্পর্ক): Ember Data মডেলগুলির মধ্যে সম্পর্ক সেট করতে সক্ষম। উদাহরণস্বরূপ, একটি User মডেল একটি Post মডেলকে রিলেশনশিপ হিসেবে ধারণ করতে পারে। এই রিলেশনশিপগুলো একাধিক ধরনের হতে পারে:

    • hasMany: একাধিক সম্পর্কিত অবজেক্ট।
    • belongsTo: একটি সম্পর্কিত অবজেক্ট।

    উদাহরণ:

    // app/models/user.js
    import Model, { attr, hasMany } from '@ember-data/model';
    
    export default class UserModel extends Model {
      @attr('string') name;
      @hasMany('post') posts; // একাধিক পোস্টের সাথে সম্পর্ক
    }
    
  2. Normalization (নরমালাইজেশন): Ember Data ডেটাকে অটোমেটিক্যালি normalize করে, যার ফলে API থেকে আসা ডেটা Model এর মধ্যে সঠিকভাবে রূপান্তরিত হয়।
  3. Querying (কোয়েরি): Ember Data ডেটাবেস বা API থেকে মডেল ফিল্টার এবং সোর্ট করতে সক্ষম। উদাহরণস্বরূপ:

    this.store.query('user', { filter: { name: 'John' } });
    

Ember.js Model এর গুরুত্ব

  • ডেটা ম্যানেজমেন্ট: Ember.js এর Model ডেটা স্টোরেজ এবং ম্যানিপুলেশন সিস্টেম সরবরাহ করে। এটি অ্যাপ্লিকেশনের ডেটাকে একটি সেন্ট্রালাইজড স্থান থেকে নিয়ন্ত্রণ করতে সাহায্য করে।
  • ডেটা সিনক্রোনাইজেশন: Ember Data API এর সাথে ডেটা সিঙ্ক্রোনাইজ করার প্রক্রিয়া সহজ করে।
  • সম্পর্কিত ডেটা: বিভিন্ন মডেল এবং তাদের সম্পর্ককে সহজে পরিচালনা করা যায়।

Ember.js Model অ্যাপ্লিকেশনের ডেটা ম্যানেজমেন্টের জন্য একটি শক্তিশালী সরঞ্জাম। এটি Ember Data-এর মাধ্যমে ডেটা ফেচ, আপডেট, সংরক্ষণ এবং সম্পর্কের মধ্যে যোগাযোগ স্থাপন করতে সক্ষম। Model এবং Controller-এর সম্পর্ক, এবং Ember Data এর মাধ্যমে ডেটা সঠিকভাবে পরিচালনা করা, Ember.js অ্যাপ্লিকেশনকে অত্যন্ত কার্যকরী এবং স্কেলেবল করে তোলে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...